The invention finds an application most particularly in the Internet network.
Within the framework of a communication between an origin terminal and a recipient terminal, packets are provided successively by the origin terminal to the telecommunications network, for example the Internet network. Each of these packets is thereafter transmitted up to the recipient terminal by way of resources of the Internet network.
The resources of the Internet network comprise all the means adapted for allowing the transmission of the packets. These means receive packets as input and deliver packets as output. The resources comprise for example the physical connections, based on cable, optical fiber or radio, between equipment of the network. They also comprise equipment, such as, for example, routers etc.
The use of the resources is snared between the packets. When the number of packets that have to use one and the same resource is too big, this gives rise to overcrowding phenomena, also called network congestion, located especially at the level of the resource for a period of variable duration. A packet that has to be processed by a resource experiencing an overcrowding phenomenon may then experience a particularly long waiting time before actually being processed by the resource.
The technique generally implemented by default in the Internet network equipment to decide the allocation of the resources to the packets is termed “Best Effort”. The packets are dispatched by an item of equipment to a resource in the order in which they are received by the item or equipment. This “Best Effort” generally produces acceptable performance. When occasional or prolonged congestion occurs, this performance may nevertheless deteriorate. When resources offered are low in capacity, such as for example radio accesses, these congestion periods may turn out to be penalizing for users. And even in the presence of bigger capacities, congestion periods may nevertheless take place, on account especially of the increasing data volumes utilized by Internet network users.
Solutions have been proposed for decreasing the occurrence and the duration of overcrowding phenomena.
A first type of solution consists in classifying the communications as a function of predetermined criteria, such as the origin or the destination of the communication (and therefore the origin or the destination of the packets transmitted within the framework of the communication), or else as a function of the application from which the communication originates. The packets then have access to the shared resource, for example a transmission link or a routing facility, as a function of the classifying of the communication to which they belong. This first type of solution is therefore based on the principle that certain classes of communications have to be sacrificed for the proper operation of other classes. This first type of solution furthermore assumes that the user can define priorities among the applications that he is using and that these priorities are fixed or at least forecastable. This also assumes that the applications from which the communications originate are identifiable, and that, when new applications are used, they are classified.
This first type of solution thus has the drawback of requiring knowledge of the applications which are to be favored or conversely disfavored. Now, the applications present on a network change over time. The solution therefore requires constant updating. Furthermore, it is not always easy for a user to have knowledge of the applications that he sometimes uses without knowing this through third-party applications. Moreover, users often do not wish to be compelled to prioritize certain applications with respect to others, because their preference may depend on their activity or on the period during the day, or because they do not consider it to be possible to measure the consequences thereof on performance. The implementation of solutions of this type penalizes certain applications.
The objective of a second type of solution is to ensure equitable sharing between the communications present. This can be carried out for example with the so-called “Fair queueing” mechanisms.
This second type of solution does not require the establishment by the users of a list of applications to be favored. The throughput is shared between the communications present. Various weightings can be associated with communications of different applications. Nevertheless, with or without weighting, when congestion is prolonged, the number of communications in progress increases, and the performance of all the communications drops without lower limit. The communications are therefore not protected from the behavior of the neighboring communications. Thus certain applications multiply the number of simultaneous communications that they establish, so as to occupy a bigger snare of the network resources.
Finally a third type of solution consists in classifying the communications dynamically as a function of the packets that they have sent, in particular by allocating a priority which decreases as a function of the volume of packets already sent. These so-called “Aged-Based” solutions are efficient when the communications correspond to very different total data volumes transmitted or else when the distribution of these volumes has a very big variance.
Subsequently in this document, a communication which gives rise to the sending of a large total data volume in the form of packets will be called a “long communication” and a communication which gives rise to the sending of a low total data volume in the form of packets will be called a “short communication”.
This third type of solution makes it possible to automatically choose the communications to be favored. Nevertheless the priority mechanism implemented interrupts the flow of certain communications to the benefit of other communications. The long communications, especially the communications which last a long time, may be blocked by the accumulation of short communications, especially communications lasting little time.
Furthermore, when such a solution is implemented at various places in a network, for example on several items of equipment situated along the path followed by a communication, it is possible that resources of the network may not be used efficiently and that overcrowding phenomena may appear just where, for example, a solution of the second type would not produce any. Moreover, in the case of a communication of TCP type, the TCP protocol may interpret overcrowding in the transfer of packets which is prolonged as an interruption, and in this case the throughput of the communication is greatly and automatically reduced by a self-adjustment mechanism, and is thereafter re-increased only very gradually, leading to a big drop in the fluidity of processing at the level of the user from whom the communication originates and/or to whom the communication is addressed.
There is therefore a need for a solution aimed at allocating resources to packets not exhibiting the drawbacks of the prior art solutions or at least aimed at decreasing them.